package com.codeduck.bean.entity;

import lombok.extern.slf4j.Slf4j;

/**
 *  向 Spring 注册 BeanLifeCycleV : {@link com.codeduck.bean.config.BeanLifeCycleConfigV}
 *
 * @author: <a href="mailto:codeduck@163.com">Codeduck</a>
 * @createDate: 2021-12-23
 */
@Slf4j
public class BeanLifeCycleV {

    private String name;
    private int age;
    private static String email;

    static {
        email = "xxx";
        log.warn("Bean 的 # 静态代码块# 内静态属性赋值完毕");
    }

    {
        this.age = 10;
        log.warn("Bean 的 # 普通代码块 # 内非静态属性赋值完毕");
    }

    public BeanLifeCycleV() {
        log.warn("Bean 的 # 构造方法 # 内属性赋值完毕");
    }

    public void setName() {
        this.name = "name";
        log.warn("Bean#setName 方法调用完毕");
    }

    public void init() {
        log.warn("@Bean#initMethod 方法调用完毕");
    }

    public void  destroy() {
        log.warn("@Bean#destroy 方法调用完毕");
    }
}
